package cn.tedu.justone.pack01;

/**
 * ZZ：JustOne
 * VX：Andylau2020smile
 * DY：JustOne2018
 * ZT：《》
 */
public class Demo34_Volatile总结 {
    /*
    volatile与synchronized的区别
    volatile与synchronized的区别
    volatile与synchronized的区别
    1,volatile只能修饰实例变量和类变量，
      synchronized可以修饰方法，以及代码块。
    2,volatile保证数据的可见性，但是不保证原子性(多线程进行写操作，不保证线程安全);
      synchronized是一种排他(互斥)的机制。
    3,volatile用于禁止指令重排序，
      volatile可以看做是轻量版的synchronized，但它不保证原子性，
      但是如果是对一个共享变量进行多个线程的赋值，而没有其他的操作，
      那么就可以用volatile来代替synchronized，因为赋值本身是有原子性的，
      而volatile又保证了可见性，所以就可以保证线程安全了。

    原文《Volatile详解》非常值得一看
    作者 敖丙
    https://www.cnblogs.com/cxy2020/p/12951333.html

     */
}
